<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Promise</title>
</head>
<body>
<script>
    // 创建一个Promise对象
    // 参数：函数，该函数有两个参数，分别是resolve和reject
    // resolve：成功时执行的函数
    // reject：失败时执行的函数
    // 返回值：Promise对象
    // 注意：Promise对象的状态改变后就不会再变，会一直保持这个状态
    // 状态：pending（进行中）、fulfilled（已成功）、rejected（已失败）
    // 状态改变：pending->fulfilled、pending->rejected
    // 状态不可逆
    // 状态改变不可逆的原因：状态改变后，会立即执行then方法指定的回调函数，一旦执行，状态就固定了
    const p1 = new Promise((res, rej)=>{
        res('success1'); // 执行完结果就被固定，结果是 success1
        res('success2');
    })
    const p2 = new Promise((res, rej)=>{
        res('success3'); // 执行完结果就被固定，结果是 success1
        rej('reject');
    })
    p1.then(value => {
        console.log(value); // success1
    })
    p2.then(value =>{
        console.log(value) // success3
    })
</script>
</body>
</html>